 -- 1、参数列表
 -- 1、1优惠券id
 local voucherId = ARGS[1]
 -- 1、2用户id
 local userId = ARGS[2]

 -- 2、数据key
 -- 2.1、库存key
 local stockKey = 'seckill:stock:' .. voucherId
 -- 2.2、订单key
 local orderKey = 'seckill:order:' .. voucherId

 -- 3、脚本业务
 -- 3.1、判断库存是否充足 get stockKey
 if (tonumber(redis.call('get', stockKey)) <= 0) then
     -- 3.2、库存不足
    return 1
end
 -- 3.3、判断用户是否重复下单 sismember orderKey userId
 if (redis.call('sismember', orderKey, userId) == 1) then
     -- 3.4、用户重复下单
    return 2
end
 -- 3.5、扣减库存 incrby stockKey -1
 redis.call('incrby', stockKey, -1)
 -- 3.6、下单，记录用户
 redis.call('sadd', orderKey, userId)
 return 0